<template>
	<view>
		<view class="page-index" :class="{'bgf':navIndex >0}">
			<!-- #ifdef H5||APP||MP-WEIXIN -->
			<view class="header">
				<view class="serch-wrapper flex">
					<view class="logo">
						<image :src="logoUrl" mode=""></image>
					</view>
					<navigator url="/pages/goods_search/index" class="input" hover-class="none"><text
							class="iconfont icon-xiazai5"></text>
						搜索商品</navigator>
				</view>
			</view>
			<!-- #endif -->
			<!-- 首页展示 -->
			<view class="page_content" :style="'margin-top:'+(marTop)+'px;'" v-if="navIndex == 0">
				<view class="mp-bg"></view>
				<!-- banner -->
				<view class="swiper" v-if="imgUrls.length">
					<swiper indicator-dots="true" :autoplay="true" :circular="circular" :interval="interval"
						:duration="duration" indicator-color="rgba(255,255,255,0.6)" indicator-active-color="#fff">
						<block v-for="(item,index) in imgUrls" :key="index">
							<swiper-item>
								<navigator :url='item.url' class='slide-navigator acea-row row-between-wrapper'
									hover-class='none'>
									<image :src="item.pic" class="slide-image" lazy-load></image>
								</navigator>
							</swiper-item>
						</block>
					</swiper>
				</view>
				<!-- 新闻简报 -->
				<view class='notice acea-row row-middle row-between' v-if="roll.length">
					<view class="pic">
						<image src="/static/images/xinjian.png"></image>
					</view>
					<text class='line'>|</text>
					<view class='swipers'>
						<swiper :indicator-dots="indicatorDots" :autoplay="autoplay" interval="2500" duration="500"
							vertical="true" circular="true">
							<block v-for="(item,index) in roll" :key='index'>
								<swiper-item>
									<navigator class='item' :url='item.url' hover-class='none'>
										<view class='line1'>{{item.info}}</view>
									</navigator>
								</swiper-item>
							</block>
						</swiper>
					</view>
					<view class="iconfont icon-xiangyou"></view>
				</view>
				
				<!-- menu -->
				<view class='custom-nav-wrapper'>
					<view class='custom-nav acea-row'>
						<view class='item' v-for="(item,index) in customMenus" :key="index" @click="navigateTo(item)">
							<view class='pictrue'>
								<image :src='item.pic'></image>
							</view>
							<view class="menu-txt">{{item.name}}</view>
						</view>
					</view>
				</view>
				<!-- 图片和视频展示 -->
				<view class="media-showcase">
					<view class="banner-image">
						<image src="https://xinlinjmei-1360601426.cos.ap-guangzhou.myqcloud.com/crmebimage/public/content/2025/07/12/c63e9dfec2214fc090b16d5906b8197bhp216kbjgc.jpg" mode="widthFix"></image>
					</view>
					<view class="video-container">
						<video 
							src="https://xinlinjmei-1360601426.cos.ap-guangzhou.myqcloud.com/file/public/course/2025/07/11/7657176abef14132b419dc7380f2d3d65k93t3z6ie.mp4" 
							controls 
							
							class="promo-video">
						</video>
					</view>
				</view>
				<!-- 优惠券 -->
				<view class="couponIndex" v-if="couponList.length>0">
					<view class="acea-row" style="height: 100%;">
						<view class="titBox">
							<view class="tit1">领取优惠券</view>
							<view class="tit2">福利大礼包，省了又省</view>
							<navigator class='item' url='/pages/users/user_get_coupon/index' hover-class='none'>
								<view class="tit3">查看全部 <text class="iconfont icon-xiangyou"></text></view>
							</navigator>
						</view>
						<view class="listBox acea-row">
							<view class="list" :class='item.isUse ? "listHui" : "listActive" '
								v-for="(item, index) in couponList.slice(0,2)" :key="index">
								<view class="tit line1" :class='item.isUse ? "pricehui" : "titActive" '>{{item.name}}
								</view>
								<view class="price" :class='item.isUse ? "pricehui" : "icon-color" '>
									{{item.money?Number(item.money):''}}<text class="yuan">元</text></view>
								<view class="ling" v-if="!item.isUse" :class='item.isUse ? "pricehui" : "icon-color" '
									@click="getCoupon(item.id,index)">领取</view>
								<view class="ling" v-else :class='item.isUse ? "pricehui fonthui" : "icon-color" '>已领取
								</view>
								<view class="priceM">满{{item.minPrice?Number(item.minPrice):''}}元可用</view>
							</view>
						</view>

					</view>
				</view>
				<!-- 活动-->
				<a_seckill></a_seckill>
				<b_combination></b_combination>
				<c_bargain></c_bargain>

				<!-- 首页推荐 -->
				<!-- :class="iSshowH?'on':''" -->
				<!-- <view class="sticky-box" :style="'top:'+(marTop)+'px;'">
					<scroll-view class="scroll-view_H" style="width: 100%;" scroll-x="true" scroll-with-animation
						:scroll-left="tabsScrollLeft" @scroll="scroll">
						<view class="tab nav-bd" id="tab_list">
							<view id="tab_item" :class="{ 'active': listActive == index}" class="item"
								v-for="(item, index) in explosiveMoney" :key="index" @click="ProductNavTab(item,index)">
								<view class="txt">{{item.name}}</view>
								<view class="label">{{item.info}}</view>
							</view>
						</view>
					</scroll-view>
				</view> -->

				<!-- 首发新品 -->
				<view class="index-product-wrapper" :class="iSshowH?'on':''">
					<view class="section-title">优质商品</view>
					<view class="list-box-horizontal animated" :class='tempArr.length > 0?"fadeIn on":""' v-if="tempArr.length > 0">
					<view class="course-item" v-for="(item,index) in tempArr" :key="index" @click="goDetail(item)">
						<view class="course-left">
							<image :src="item.image" mode="aspectFill"></image>
							<text class="lesson-tag" v-if="item.activityH5 && item.activityH5.type === '1'">秒杀</text>
							<text class="lesson-tag" v-if="item.activityH5 && item.activityH5.type === '2'">砍价</text>
							<text class="lesson-tag" v-if="item.activityH5 && item.activityH5.type === '3'">拼团</text>
						</view>
						<view class="course-right">
							<view class="course-title line2">{{item.storeName}}</view>
							<view class="course-desc">{{item.storeInfo || '优质商品，品质保障'}}</view>
							<view class="course-price">
								<view>
									<text class="price-tag">¥</text>
									<text class="price-value">{{item.price}}</text>
									<view class="old-price"><text>¥{{item.otPrice}}</text></view>
									<view class="txt-tag" v-if="item.checkCoupon">券</view>
								</view>
								<view class="buy-now">购买</view>
							</view>
						</view>
					</view>
				</view>
				
				<!-- 空状态提示 -->
				<view class="empty-state" v-if="tempArr.length === 0 && !loading && !goodScroll">
					<view class="empty-icon">📦</view>
					<view class="empty-title">暂无商品</view>
					<view class="empty-desc">暂时没有商品，请稍后再来看看吧~</view>
				</view>
					<view class='loadingicon acea-row row-center-wrapper' v-if="goodScroll"> 
						<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text> 
						<text v-if="loading" class="loading-text">正在加载更多商品...</text>
					</view> 
					<view class="mores-txt flex" v-if="!goodScroll"> 
						<text>🎉 已显示全部商品 🎉</text> 
					</view>
				</view>

				
			</view>
		</view>
	</view>
</template>

<script>
	import Auth from '@/libs/wechat';
	import Cache from '../../utils/cache';
	var statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'px';
	let app = getApp();
	import {
		getIndexData,
		getCoupons,
		setCouponReceive
	} from '@/api/api.js';
	// #ifdef MP-WEIXIN
	import {
		getTemlIds
	} from '@/api/api.js';
	// import {
	// 	SUBSCRIBE_MESSAGE,
	// 	TIPS_KEY
	// } from '@/config/cache';
	// #endif
	// #ifdef H5  
	import {
		follow
	} from '@/api/public.js';
	// #endif
	import {
		getShare
	} from '@/api/public.js';
	import a_seckill from './components/a_seckill';
	import b_combination from './components/b_combination';
	import c_bargain from './components/c_bargain';
	import goodList from '@/components/goodList';
	import promotionGood from '@/components/promotionGood';
	import couponWindow from '@/components/couponWindow';
	import ClipboardJS from "@/plugin/clipboard/clipboard.js";
	import {
		goShopDetail
	} from '@/libs/order.js'
	import {
		mapGetters
	} from "vuex";
	import tabNav from '@/components/tabNav.vue'
	import countDown from '@/components/countDown';
	import {
		getCategoryList,
		getProductslist,
		getProductHot,
		getGroomList
	} from '@/api/store.js';
	// import {
	// 	setVisit
	// } from '@/api/user.js'
	import recommend from '@/components/recommend';
	// #ifdef MP
	import authorize from '@/components/Authorize';
	// #endif
	import {
		silenceBindingSpread
	} from '@/utils';
	// #ifndef MP
	import {
		kefuConfig
	} from "@/api/public";
	import {
		getWechatConfig
	} from "@/api/public";
	// #endif
	import Loading from '@/components/Loading/index.vue';
	const arrTemp = ["beforePay", "afterPay", "refundApply", "beforeRecharge", "createBargain", "pink"];
	export default {
		computed: mapGetters(['isLogin', 'uid']),
		components: {
			tabNav,
			goodList,
			promotionGood,
			couponWindow,
			countDown,
			a_seckill,
			b_combination,
			c_bargain,
			recommend,
			// #ifdef MP
			authorize,
			// #endif
			Loading
		},
		data() {
			return {
				pageHeight: 0,
				loaded: false,
				loading: false,
				isAuto: false, //没有授权的不会自动授权
				isShowAuth: false, //是否隐藏授权
				statusBarHeight: statusBarHeight,
				navIndex: 0,
				navTop: [],
				followUrl: "",
				followHid: true,
				followCode: false,
				logoUrl: "",
				imgUrls: [],
				itemNew: [],
				menus: [],
				bastInfo: '',
				fastInfo: '',
				fastList: [],
				firstInfo: '',
				salesInfo: '',
				indicatorDots: false,
				circular: true,
				autoplay: true,
				interval: 3000,
				duration: 500,
				window: false,
				iShidden: false,
				navH: "",
				newGoodsBananr: '',
				couponList: [],
				liveList: [],
				hotList: [{
					pic: '/static/images/hot_001.png'
				}, {
					pic: '/static/images/hot_002.png'
				}, {
					pic: '/static/images/hot_003.png'
				}],
				ProductNavindex: 0,
				marTop: 0,
				childID: 0,
				loadend: false,
				loadTitle: '加载更多',
				sortProduct: [],
				where: {
					cid: 0,
					page: 1,
					limit: 20,
				},
				is_switch: true,
				hotPage: 1,
				hotLimit: 10,
				hotScroll: false,
				explosiveMoney: [],
				prodeuctTop: 0,
				searchH: 0,
				isFixed: false,
				goodType: 0, //精品推荐Type
				goodScroll: true, //精品推荐开关
				params: { //精品推荐分页
					page: 1,
					limit: 20,
				},
				tempArr: [], //精品推荐临时数组
				roll: [], // 新闻简报
				site_name: '', //首页title
				iSshowH: false,
				configApi: {}, //分享类容配置
				spikeList: [], // 秒杀
				point: '',
				privacyStatus: false, // 隐私政策是否同意过
				tabsScrollLeft: 0, // tabs当前偏移量
				scrollLeft: 0,
				lineColor: 'red',
				lineStyle: {}, // 下划线位置--动态甲酸
				listActive: 0, // 当前选中项

				duration: 0.2, // 下划线动画时长

				// 添加自定义菜单数据
				customMenus: [
					{
						name: '线下课程',
						pic: 'https://dong-1323115148.cos.ap-guangzhou.myqcloud.com/crmebimage/public/maintain/2021/12/25/0624fe22d770438891ad666ebef9e21e1rhiepyec1.png',
						url: '/pages/course/kecheng/index',
						type: 'page'
					},
					{
						name: '线上课程',
						pic: 'https://dong-1323115148.cos.ap-guangzhou.myqcloud.com/crmebimage/public/maintain/2021/12/25/11113e1876ac427bb3173086a3bd6c5bhyan1ea9pz.png',
						url: '/pages/course/xianshang/xianshang',
						type: 'page'
					},
					{
						name: '沙龙活动',
						pic: 'https://dong-1323115148.cos.ap-guangzhou.myqcloud.com/crmebimage/public/maintain/2021/12/25/197b96e3a4d24728b4069b0c288326352gcds3duga.png',
						url: '/pages/course/shalong/shalong',
						type: 'page'
					},
					{
						name: '禅修活动',
						pic: 'https://dong-1323115148.cos.ap-guangzhou.myqcloud.com/crmebimage%2Fpublic%2Fmaintain%2F2021%2F12%2F25%2F2e47a337dbdf445d81b20c1b5aeedf01ybm0jmic0h.png',
						url: '/pages/course/canxiu/canxiu',
						type: 'page'
					},
					{
						name: '公益活动',
						pic: 'https://dong-1323115148.cos.ap-guangzhou.myqcloud.com/crmebimage%2Fpublic%2Fmaintain%2F2021%2F12%2F25%2F5d6617d3440c4d67802fdf064b77b471qzfen9343d.png',
						url: '/pages/course/gongyi/gongyi',
						type: 'page'
					},
					{
						name: '锦礼商城',
						pic: 'https://dong-1323115148.cos.ap-guangzhou.myqcloud.com/crmebimage%2Fpublic%2Fmaintain%2F2021%2F12%2F25%2F418c7649b2b646f4a13dd6f335ae927426354rq62r.png',
						url: '/pages/course/jingli/jingli',
						type: 'page'
					},
					{
						name: '入住合伙人',
						pic: 'https://dong-1323115148.cos.ap-guangzhou.myqcloud.com/crmebimage%2Fpublic%2Fmaintain%2F2021%2F12%2F25%2F3ab2dae5527742319ae003c58cca264duewwp3esg8.png',
						url: '/pages/course/hehuoren/hehuoren',
						type: 'page'
					},
					{
						name: '个案咨询',
						pic: 'https://dong-1323115148.cos.ap-guangzhou.myqcloud.com/crmebimage%2Fpublic%2Fmaintain%2F2021%2F12%2F25%2F71b89c4f080948a981e06c6ba748c5e1x9mfhpzhfd.png',
						url: '/pages/course/zixungean/zixungean',
						type: 'page'
					},
					{
						name: '锦礼会员',
						pic: 'https://dong-1323115148.cos.ap-guangzhou.myqcloud.com/crmebimage%2Fpublic%2Fmaintain%2F2021%2F12%2F25%2Fdd497d333f4541d7ae41b2c579706370jhp2x39yrg.png',
						url: '/pages/course/jinlihuiyuan/jinlihuiyuan',
						type: 'page'
					},
					{
						name: '优惠卷',
						pic: 'https://dong-1323115148.cos.ap-guangzhou.myqcloud.com/crmebimage%2Fpublic%2Fmaintain%2F2021%2F12%2F25%2F5d6617d3440c4d67802fdf064b77b471qzfen9343d.png',
						url: '/pages/users/user_coupon/index',
						type: 'page'
					}
				]
			}
		},
		watch: {
			ProductNavindex(newVal) { // 监听当前选中项
				this.setTabList()
			},
			listActive(newVal) { // 监听当前选中项
				this.setTabList()
			}
		},
		mounted() {
			this.setTabList()
		},
		onLoad() {
			var that = this;
			// 获取系统信息
			uni.getSystemInfo({
				success(res) {
					that.$store.commit("SYSTEM_PLATFORM", res.platform);
				}
			});
			uni.getLocation({
				type: 'gcj02',
				altitude: true,
				geocode: true,
				success: function(res) {
					try {
						uni.setStorageSync('user_latitude', res.latitude);
						uni.setStorageSync('user_longitude', res.longitude);
					} catch {}
				}
			});
			let self = this
			// #ifdef MP
			// 获取小程序头部高度
			this.navH = app.globalData.navHeight;
			let info = uni.createSelectorQuery().select(".mp-header");
			info.boundingClientRect(function(data) {
				self.marTop = data.height
				self.poTop = Number(data.height) + 84
			}).exec()
			// #endif
			// #ifndef MP
			this.navH = 0;
			// #endif
			this.isLogin && silenceBindingSpread();
			// Promise.all([this.getAllCategory(), this.getIndexConfig()
			// 	// , this.setVisit()
			// ]);
			this.getIndexConfig();
			// #ifdef MP
			this.getTemlIds()
			// #endif
		},
		onShow() {
			let self = this
			uni.setNavigationBarTitle({
				title: self.site_name
			})
		},
		methods: {
			getCoupon: function(id, index) {
				let that = this;
				//领取优惠券
				setCouponReceive(id).then(function(res) {
					that.$set(that.couponList[index], 'isUse', true);
					that.$util.Tips({
						title: '领取成功'
					});
				}, function(res) {
					return that.$util.Tips({
						title: res
					});
				})
			},
			clickSort(index) {
				this.listActive = index
			},
			// scroll-view滑动事件
			scroll(e) {
				this.scrollLeft = e.detail.scrollLeft;
			},
			setTabList() {
				this.$nextTick(() => {
					//this.setLine()
					this.scrollIntoView()
				})
			},
			// 计算tabs位置
			scrollIntoView() { // item滚动
				let lineLeft = 0;
				this.getElementData('#tab_list', (data) => {
					let list = data[0]
					this.getElementData(`#tab_item`, (data) => {
						let el = data[this.listActive]
						lineLeft = el.width / 2 + (-list.left) + el.left - list.width / 2 - this.scrollLeft
						this.tabsScrollLeft = this.scrollLeft + lineLeft
					})
				})
			},
			//  计算下划线位置
			setLine() {
				let lineWidth = 0,
					lineLeft = 0
				this.getElementData(`#tab_item`, (data) => {
					let el = data[this.listActive]
					lineWidth = el.width / 2
					// lineLeft = el.width * (this.currentIndex + 0.5)  // 此种只能针对每个item长度一致的
					lineLeft = el.width / 2 + (-data[0].left) + el.left
					this.lineStyle = {
						width: `${lineWidth}px`,
						transform: `translateX(${lineLeft}px) translateX(-50%)`,
						transitionDuration: `${this.duration}s`
					};
				})
			},
			getElementData(el, callback) {
				uni.createSelectorQuery().in(this).selectAll(el).boundingClientRect().exec((data) => {
					callback(data[0]);
				});
			},
			xieyiApp() {
				uni.navigateTo({
					url: '/pages/users/web_page/index?webUel=https://admin.java.crmeb.net/useragreement/xieyi.html&title=协议内容'
				})
			},
			// #ifdef MP
			getTemlIds() {
				for (var i in arrTemp) {
					this.getTem(arrTemp[i]);
				}
			},
			getTem(data) {
				getTemlIds({
					type: data
				}).then(res => {
					if (res.data) {
						let arr = res.data.map((item) => {
							return item.tempId
						})
						wx.setStorageSync('tempID' + data, arr);
					}
				})
			},
			// #endif
			// 首页数据
			getIndexConfig: function() {
				let that = this;
				getIndexData().then(res => {
					uni.setNavigationBarTitle({
						title: '首页'
					})
					that.$set(that, "logoUrl", res.data.logoUrl);
					that.$set(that, "site_name", '首页');
					that.$set(that, "imgUrls", res.data.banner);
					that.$set(that, "menus", res.data.menus);
					that.$set(that, "roll", res.data.roll ? res.data.roll : []);
					// #ifdef H5
					that.$store.commit("SET_CHATURL", res.data.yzfUrl);
					Cache.set('chatUrl', res.data.yzfUrl);
					// #endif
					that.$set(that, "explosiveMoney", res.data.explosiveMoney);
				// 设置默认商品类型为精品推荐
				this.goodType = (res.data.explosiveMoney && res.data.explosiveMoney[0] && res.data.explosiveMoney[0].type) || 1;
				this.getGroomList(true);
					this.shareApi();
					this.getcouponList();
					// #ifdef H5
					// that.subscribe = res.data.subscribe;
					// #endif

				})
			},
			getcouponList() {
				let that = this;
				getCoupons({
					page: 1,
					limit: 6
				}).then(res => {
					that.$set(that, "couponList", res.data);
					// 小程序判断用户是否授权；
					// #ifdef MP
					uni.getSetting({
						success(res) {
							if (!res.authSetting['scope.userInfo']) {
								that.window = that.couponList.length ? true : false;
							} else {
								that.window = false;
								that.iShidden = true;
							}
						}
					});
					// #endif
					// #ifndef MP
					if (that.isLogin) {
						that.window = false;
					} else {
						that.window = res.data.length ? true : false;
					}
					// #endif
				}).catch(err => {
					return this.$util.Tips({
						title: err
					});
				});
			},
			shareApi: function() {
				getShare().then(res => {
					this.$set(this, 'configApi', res.data);
					// #ifdef H5
					this.setOpenShare(res.data);
					// #endif
				})
			},
			getChatUrL() {
				kefuConfig().then(res => {
					let data = res.data;
					this.$store.commit("SET_CHATURL", data.yzfUrl);
					Cache.set('chatUrl', data.yzfUrl);
				})
			},
			// 微信分享；
			setOpenShare: function(data) {
				let that = this;
				if (that.$wechat.isWeixin()) {
					let configAppMessage = {
						desc: data.synopsis,
						title: data.title,
						link: location.href,
						imgUrl: data.img
					};
					that.$wechat.wechatEvevt(["updateAppMessageShareData", "updateTimelineShareData"],
						configAppMessage);
				}
			},
			// 授权关闭
			authColse: function(e) {
				this.isShowAuth = e
			},
			// 授权回调
			onLoadFun() {

			},
			// 商品分类切换
			ProductNavTab(item, index) {
				this.listActive = index
				// 设置商品类型：1=精品推荐, 2=热门榜单, 3=首发新品, 4=促销单品
				this.goodType = item.type || (index + 1) // 如果item.type不存在，则根据索引设置
				this.ProductNavindex = index
				// 重置商品列表和分页状态
				this.tempArr = []
				this.params.page = 1
				this.goodScroll = true
				this.loading = false
				this.iSshowH = false
				let onloadH = true
				this.getGroomList(onloadH)
			},
			// 首发新品详情
			goDetail(item) {
				if (item.activityH5 && item.activityH5.type === "2" && !this.isLogin) {
					toLogin();
				} else {
					goShopDetail(item, this.uid).then(res => {
						uni.navigateTo({
							url: `/pages/goods_details/index?id=${item.id}`
						})
					})
				}
			},
			// 分类详情
			godDetail(item) {
				goShopDetail(item, this.uid).then(res => {
					uni.navigateTo({
						url: `/pages/goods_details/index?id=${item.id}`
					})
				})
			},
			// 精品推荐 - 获取商品数据
			getGroomList(onloadH) {
				this.loading = true
				// 使用当前选中的商品类型（后端要求type必须在1-4范围内）
				let type = this.goodType || 1; // 1=精品推荐, 2=热门榜单, 3=首发新品, 4=促销单品
				if (!this.goodScroll) return
				if (onloadH) {
					this.iSshowH = true
				}
				getGroomList(type, this.params).then(({
					data
				}) => {
					this.iSshowH = false
					this.loading = false
					// 修改判断逻辑：当返回的数据少于限制数量时，表示没有更多数据
					this.goodScroll = data.list.length >= this.params.limit
					this.params.page++
					this.tempArr = this.tempArr.concat(data.list)
					console.log('商品数据加载成功，当前商品数量:', this.tempArr.length, 'type:', type)
				}).catch(err => {
					this.loading = false
					this.iSshowH = false
					console.error('获取商品列表失败:', err)
				})
			},
			/**
			 * 获取我的推荐
			 */
			get_host_product: function() {
				let that = this;
				that.loading = true;

				if (that.hotScroll) return
				getProductHot(
					that.hotPage,
					that.hotLimit,
				).then(res => {
					that.hotPage++
					that.hotScroll = res.data.list.length < that.hotLimit
					that.hostProduct = that.hostProduct.concat(res.data.list)
				});
			},
			// 添加自定义导航方法
			navigateTo(item) {
				if(item.type === 'tab') {
					uni.switchTab({
						url: item.url
					});
				} else {
					uni.navigateTo({
						url: item.url
					});
				}
			},
		},
		mounted() {
			let self = this
			// #ifdef H5
			//self.getChatUrL();
			// 获取H5 搜索框高度
			let appSearchH = uni.createSelectorQuery().select(".serch-wrapper");
			appSearchH.boundingClientRect(function(data) {
				self.searchH = data.height
			}).exec()
			// #endif
		},
		/**
		 * 用户点击右上角分享
		 */
		// #ifdef MP
		onShareAppMessage: function() {
			return {
				title: this.configApi.title,
				imageUrl: this.configApi.img,
				desc: this.configApi.synopsis,
				path: '/pages/index/index'
			};
		},
		// #endif
		onReachBottom() {
			if (this.navIndex == 0) {
				// 首页加载更多商品
				if (this.goodScroll && !this.loading) {
					this.getGroomList();
				}
			} else {
				// 分类栏目加载更多
				if (this.sortProduct.length > 0) {
					//this.get_product_list();
				} else {
					this.get_host_product();
				}
			}
		},
	}
</script>
<style>
	page {
		display: flex;
		flex-direction: column;
		height: 100%;
		/* #ifdef H5 */
		background-color: #fff;
		/* #endif */

	}
</style>
<style lang="scss">
	.notice {
		width: 100%;
		height: 70rpx;
		border-radius: 10rpx;
		background-color: #fff;
		margin-bottom: 25rpx;
		line-height: 70rpx;
		padding: 0 14rpx;

		.line {
			color: #CCCCCC;
		}

		.pic {
			width: 130rpx;
			height: 36rpx;

			image {
				width: 100%;
				height: 100%;
				display: block !important;
			}
		}

		.swipers {
			height: 100%;
			width: 444rpx;
			overflow: hidden;

			swiper {
				height: 100%;
				width: 100%;
				overflow: hidden;
				font-size: 22rpx;
				color: #333333;
			}
		}

		.iconfont {
			color: #999999;
			font-size: 20rpx;
		}
	}

	.couponIndex {
		width: auto;
		height: 238rpx;
		background-image: url('~@/static/images/yhjsy.png');
		background-size: 100% 100%;
		padding-left: 42rpx;
		margin-bottom: 30rpx;

		.titBox {
			padding: 47rpx 0;
			text-align: center;
			height: 100%;

			.tit1 {
				color: #FFEBD2;
				font-size: 34rpx;
				font-weight: 600;
			}

			.tit2 {
				color: #FFEBD2;
				font-size: 22rpx;
				margin: 10rpx 0 26rpx 0;
			}

			.tit3 {
				color: #FFDAAF;
				font-size: 24rpx;

				.iconfont {
					font-size: 20rpx;
				}
			}
		}

		.listBox {
			padding: 14rpx 0;

			.listActive {
				background-image: url('~@/static/images/lingyhj.png');
				background-size: 100% 100%;
			}

			.listHui {
				background-image: url('~@/static/images/weiling.png');
				background-size: 100% 100%;
			}

			.list {
				width: 170rpx;
				height: 210rpx;
				padding: 16rpx 0;
				text-align: center;
				margin-left: 24rpx;

				.tit {
					font-size: 18rpx;
					padding: 0 26rpx;
				}

				.titActive {
					color: #C99959;
				}

				.price {
					font-size: 46rpx;
					font-weight: 900;
					margin-top: 4rpx;
				}

				.pricehui {
					color: #B2B2B2;
				}

				.fonthui {
					background-color: #F5F5F5 !important;
				}

				.yuan {
					font-size: 24rpx;
				}

				.ling {
					font-size: 24rpx;
					margin-top: 9.5rpx;
					width: 102rpx;
					height: 36rpx;
					line-height: 36rpx;
					background-color: #FFE5C7;
					border-radius: 28rpx;
					margin: auto;
				}

				.priceM {
					color: #FFDAAF;
					font-size: 22rpx;
					margin-top: 14rpx;
				}
			}
		}
	}

	.sticky-box {
		/* #ifndef APP-PLUS-NVUE */
		display: flex;
		position: -webkit-sticky;
		/* #endif */
		position: sticky;
		/* #ifdef H5*/
		top: var(--window-top);
		/* #endif */

		z-index: 99;
		flex-direction: row;
		margin: 0px;
		background: #f5f5f5;
		padding: 30rpx 0;
	}

	.listAll {
		width: 20%;
		text-indent: 62rpx;
		font-size: 30rpx;
		border-left: 1px #eee solid;
		margin: 1% 0;
		padding: 5rpx;
		position: relative;

		image {
			position: absolute;
			left: 20rpx;
			top: 8rpx;
		}
	}

	.tab {
		position: relative;
		display: flex;
		font-size: 28rpx;
		white-space: nowrap;

		&__item {
			flex: 1;
			padding: 0 20rpx;
			text-align: center;
			height: 60rpx;
			line-height: 60rpx;
			color: #666;

			&.active {
				color: #09C2C9;
			}
		}
	}

	.tab__line {
		display: block;
		height: 6rpx;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 1;
		border-radius: 3rpx;
		position: relative;
		background: #2FC6CD;
	}

	.scroll-view_H {
		/* 文本不会换行，文本会在在同一行上继续，直到遇到 <br> 标签为止。 */
		white-space: nowrap;
		width: 100%;
	}


	.privacy-wrapper {
		z-index: 999;
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: #7F7F7F;

		.privacy-box {
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translate(-50%, -50%);
			width: 560rpx;
			padding: 50rpx 45rpx 0;
			background: #fff;
			border-radius: 20rpx;

			.title {
				text-align: center;
				font-size: 32rpx;
				text-align: center;
				color: #333;
				font-weight: 700;
			}

			.content {
				margin-top: 20rpx;
				line-height: 1.5;
				font-size: 26rpx;
				color: #666;
				text-indent: 54rpx;

				i {
					font-style: normal;
					color: $theme-color;
				}
			}

			.btn-box {
				margin-top: 40rpx;
				text-align: center;
				font-size: 30rpx;

				.btn-item {
					height: 82rpx;
					line-height: 82rpx;
					background: linear-gradient(90deg, #F67A38 0%, #F11B09 100%);
					color: #fff;
					border-radius: 41rpx;
				}

				.btn {
					padding: 30rpx 0;
				}
			}
		}
	}

	.page-index {
		display: flex;
		flex-direction: column;
		min-height: 100%;
		background: linear-gradient(180deg, #fff 0%, #f5f5f5 100%);

		.header {
			position: sticky;
			top: 0;
			z-index: 200000;
			width: 100%;
			background-color: $theme-color;
			padding: 28rpx 30rpx;

			.serch-wrapper {
				margin-top: var(--status-bar-height);
				align-items: center;
				
				/* #ifdef MP-WEIXIN */
				width: 75%;
				/* #endif */


				.logo {
					width: 118rpx;
					height: 42rpx;
					margin-right: 24rpx;
				}

				image {
					width: 118rpx;
					height: 42rpx;
				}

				.input {
					display: flex;
					align-items: center;
					width: 546rpx;
					height: 58rpx;
					padding: 0 0 0 30rpx;
					background: rgba(247, 247, 247, 1);
					border: 1px solid rgba(241, 241, 241, 1);
					border-radius: 29rpx;
					color: #BBBBBB;
					font-size: 26rpx;

					.iconfont {
						margin-right: 20rpx;
						font-size: 26rpx;
						color: #666666;
					}
				}
			}

			.tabNav {
				padding-top: 24rpx;
			}
		}

		/* #ifdef MP||APP */
		.mp-header {
			z-index: 999;
			position: fixed;
			left: 0;
			top: 0;
			width: 100%;
			/* #ifdef H5||APP */
			padding-bottom: 20rpx;
			/* #endif */
			background-color: $theme-color;

			.serch-wrapper {
				height: 100%;
				align-items: center;
				padding: 0 50rpx 0 53rpx;

				image {
					width: 118rpx;
					height: 42rpx;
					margin-right: 30rpx;
				}

				.input {
					display: flex;
					align-items: center;
					/* #ifdef MP||APP */
					width: 305rpx;
					/* #endif */
					height: 50rpx;
					padding: 0 0 0 30rpx;
					background: rgba(247, 247, 247, 1);
					border: 1px solid rgba(241, 241, 241, 1);
					border-radius: 29rpx;
					color: #BBBBBB;
					font-size: 28rpx;

					.iconfont {
						margin-right: 20rpx;
					}
				}
			}
		}

		/* #endif */

		.page_content {
			background-color: #f5f5f5;
			/* #ifdef H5 */
			// margin-top: 20rpx !important;
			/* #endif */
			padding: 0 30rpx;

			.swiper {
				position: relative;
				width: 100%;
				height: 280rpx;
				margin: 0 auto;
				border-radius: 10rpx;
				overflow: hidden;
				margin-bottom: 25rpx;
				/* #ifdef MP */
				z-index: 10;
				margin-top: 20rpx;

				/* #endif */
				swiper,
				.swiper-item,
				image {
					width: 100%;
					height: 280rpx;
					border-radius: 10rpx;
				}
			}

			.nav {
				padding-bottom: 26rpx;
				background: #fff;
				opacity: 1;
				border-radius: 14rpx;
				width: 100%;
				margin-bottom: 30rpx;

				.item {
					display: flex;
					flex-direction: column;
					align-items: center;
					justify-content: center;
					width: 20%;
					margin-top: 30rpx;

					image {
						width: 82rpx;
						height: 82rpx;
					}
				}
			}


			.nav-bd {
				display: flex;
				align-items: center;
				justify-content: space-between;

				.item {
					display: flex;
					flex-direction: column;
					align-items: center;
					justify-content: center;

					.txt {
						font-size: 32rpx;
						color: #282828;
					}

					.label {
						display: flex;
						align-items: center;
						justify-content: center;
						width: 124rpx;
						height: 32rpx;
						margin-top: 5rpx;
						font-size: 24rpx;
						color: #999;
					}

					&.active {
						color: $theme-color;

						.txt {
							color: $theme-color;
						}

						.label {
							background: linear-gradient(90deg, $bg-star 0%, $bg-end 100%);
							border-radius: 16rpx;
							color: #fff;
						}
					}
				}
			}

			.index-product-wrapper {
				margin-bottom: 110rpx;
				background-color: #f5f5f5;
				padding: 0 15rpx;
				min-height: 100vh;

				&.on {
					min-height: 500rpx;
				}

				.section-title {
					font-size: 34rpx;
					font-weight: bold;
					color: #333;
					padding: 30rpx 15rpx 20rpx;
					text-align: center;
					position: relative;
					
					&::after {
						content: '';
						position: absolute;
						bottom: 10rpx;
						left: 50%;
						transform: translateX(-50%);
						width: 60rpx;
						height: 4rpx;
						background: linear-gradient(90deg, #E93323 0%, #F5543A 100%);
						border-radius: 2rpx;
					}
				}

				.list-box-horizontal {
					opacity: 0;
					transform: translateY(30rpx);
					transition: all 0.5s ease;
					padding: 0 10rpx;
					
					&.on {
						opacity: 1;
						transform: translateY(0);
					}
					
					.course-item {
						display: flex;
						background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);
						padding: 30rpx;
						border-radius: 20rpx;
						margin-bottom: 30rpx;
						box-shadow: 0 6rpx 25rpx rgba(0,0,0,0.06);
						transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
						position: relative;
						overflow: hidden;
						border: 1rpx solid rgba(0,0,0,0.02);
						
						&:hover {
							transform: translateY(-6rpx) scale(1.02);
							box-shadow: 0 12rpx 40rpx rgba(0,0,0,0.15);
						}
						
						&::before {
							content: '';
							position: absolute;
							top: 0;
							left: -100%;
							width: 100%;
							height: 100%;
							background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
							transition: left 0.6s ease;
						}
						
						&:active::before {
							left: 100%;
						}
						
						&::after {
							content: '';
							position: absolute;
							top: 0;
							left: 0;
							width: 100%;
							height: 4rpx;
							background: linear-gradient(90deg, #E93323 0%, #F5543A 50%, #FF6B35 100%);
							border-radius: 20rpx 20rpx 0 0;
						}
					}

					.course-left {
						position: relative;
						width: 240rpx;
						height: 240rpx;
						flex-shrink: 0;
						border-radius: 16rpx;
						overflow: hidden;
						box-shadow: 0 4rpx 15rpx rgba(0,0,0,0.1);
						
						image {
							width: 240rpx !important;
							height: 240rpx !important;
							border-radius: 16rpx;
							transition: transform 0.3s ease;
							object-fit: cover;
							display: block;
						}
						
						&:hover image {
							transform: scale(1.05);
						}
						
						.lesson-tag {
							position: absolute;
							left: 0;
							top: 0;
							background: linear-gradient(135deg, #E93323 0%, #F5543A 100%);
							color: #fff;
							font-size: 22rpx;
							font-weight: bold;
							padding: 6rpx 16rpx;
							border-radius: 16rpx 0 16rpx 0;
							box-shadow: 0 2rpx 8rpx rgba(233, 51, 35, 0.3);
							z-index: 2;
						}
					}

					.course-right {
						flex: 1;
						padding-left: 30rpx;
						display: flex;
						flex-direction: column;
						justify-content: space-between;
						min-height: 240rpx;
					}

					.course-title {
						font-size: 32rpx;
						font-weight: 600;
						color: #1a1a1a;
						margin-bottom: 20rpx;
						line-height: 1.5;
						letter-spacing: 0.5rpx;
					}
					
					.line2 {
						overflow: hidden;
						text-overflow: ellipsis;
						display: -webkit-box;
						-webkit-line-clamp: 2;
						-webkit-box-orient: vertical;
					}

					.course-desc {
						font-size: 28rpx;
						color: #666;
						margin-bottom: 35rpx;
						line-height: 1.6;
						flex: 1;
					}

					.course-price {
						display: flex;
						align-items: center;
						justify-content: space-between;
						margin-top: auto;
						padding-top: 20rpx;
					}

					.price-tag {
						font-size: 24rpx;
						color: #E93323;
						font-weight: 500;
					}

					.price-value {
						font-size: 38rpx;
						font-weight: 700;
						color: #E93323;
						letter-spacing: 0.5rpx;
					}
					
					.old-price {
						display: inline-block;
						margin-left: 15rpx;
						text-decoration: line-through;
						color: #aaa;
						font-size: 26rpx;
						font-weight: 400;
					}
					
					.txt-tag {
						display: inline-block;
						padding: 4rpx 12rpx;
						margin-left: 15rpx;
						background: linear-gradient(135deg, #FFE5E5 0%, #FFF0F0 100%);
						border: 1rpx solid #E93323;
						font-size: 22rpx;
						color: #E93323;
						border-radius: 12rpx;
						vertical-align: middle;
						font-weight: 500;
					}

					.buy-now {
						width: 140rpx;
						height: 64rpx;
						line-height: 64rpx;
						text-align: center;
						background: linear-gradient(135deg, #E93323 0%, #F5543A 50%, #FF6B35 100%);
						color: #fff;
						font-size: 28rpx;
						font-weight: 600;
						border-radius: 32rpx;
						transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
						box-shadow: 0 6rpx 20rpx rgba(233, 51, 35, 0.4);
						position: relative;
						overflow: hidden;
						
						&::before {
							content: '';
							position: absolute;
							top: 0;
							left: -100%;
							width: 100%;
							height: 100%;
							background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
							transition: left 0.5s ease;
						}
						
						&:hover {
							transform: translateY(-2rpx);
							box-shadow: 0 8rpx 25rpx rgba(233, 51, 35, 0.5);
						}
						
						&:hover::before {
							left: 100%;
						}
						
						&:active {
							transform: scale(0.96) translateY(1rpx);
							box-shadow: 0 3rpx 12rpx rgba(233, 51, 35, 0.6);
						}
					}
				}
			}
		}
	}

	.productList {
		/* #ifdef H5 */
		padding-bottom: 140rpx;
		/* #endif */
	}

	.productList .list {
		padding: 0 20rpx;
	}

	.productList .list.on {
		background-color: #fff;
		border-top: 1px solid #f6f6f6;
	}

	.productList .list .item {
		width: 345rpx;
		margin-top: 20rpx;
		background-color: #fff;
		border-radius: 10rpx;
	}

	.productList .list .item.on {
		width: 100%;
		display: flex;
		border-bottom: 1rpx solid #f6f6f6;
		padding: 30rpx 0;
		margin: 0;
	}

	.productList .list .item .pictrue {
		position: relative;
		width: 100%;
		height: 345rpx;
	}

	.productList .list .item .pictrue.on {
		width: 180rpx;
		height: 180rpx;
	}

	.productList .list .item .pictrue image {
		width: 100%;
		height: 100%;
		border-radius: 20rpx 20rpx 0 0;
	}

	.productList .list .item .pictrue image.on {
		border-radius: 6rpx;
	}

	.productList .list .item .text {
		padding: 20rpx 17rpx 26rpx 17rpx;
		font-size: 30rpx;
		color: #222;
	}

	.productList .list .item .text.on {
		width: 508rpx;
		padding: 0 0 0 22rpx;
	}

	.productList .list .item .text .money {
		font-size: 26rpx;
		font-weight: bold;
		margin-top: 8rpx;
	}

	.productList .list .item .text .money.on {
		margin-top: 50rpx;
	}

	.productList .list .item .text .money .num {
		font-size: 34rpx;
	}

	.productList .list .item .text .vip {
		font-size: 22rpx;
		color: #aaa;
		margin-top: 7rpx;
	}

	.productList .list .item .text .vip.on {
		margin-top: 12rpx;
	}

	.productList .list .item .text .vip .vip-money {
		font-size: 24rpx;
		color: #282828;
		font-weight: bold;
	}

	.productList .list .item .text .vip .vip-money image {
		width: 46rpx;
		height: 21rpx;
		margin-left: 4rpx;
	}

	.pictrue {
		position: relative;
	}

	.fixed {
		z-index: 100;
		position: fixed;
		left: 0;
		top: 0;
		background: linear-gradient(90deg, red 50%, #ff5400 100%);

	}

	.mores-txt {
					width: 100%;
					align-items: center;
					justify-content: center;
					height: 100rpx;
					color: #666;
					font-size: 28rpx;
					background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
					border-radius: 50rpx;
					margin: 20rpx 0;
					box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.05);

					.iconfont {
						margin-top: 2rpx;
						font-size: 20rpx;
					}
				}
				
				.empty-state {
					display: flex;
					flex-direction: column;
					align-items: center;
					justify-content: center;
					padding: 120rpx 40rpx;
					text-align: center;
					background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);
					border-radius: 20rpx;
					margin: 40rpx 0;
					box-shadow: 0 4rpx 20rpx rgba(0,0,0,0.05);
					
					.empty-icon {
						font-size: 120rpx;
						margin-bottom: 30rpx;
						opacity: 0.8;
					}
					
					.empty-title {
						font-size: 32rpx;
						font-weight: 600;
						color: #333;
						margin-bottom: 20rpx;
					}
					
					.empty-desc {
						font-size: 28rpx;
						color: #999;
						line-height: 1.6;
						max-width: 400rpx;
					}
				}
	
	.loadingicon {
		padding: 30rpx 0;
		
		.loading-text {
			margin-left: 20rpx;
			color: #666;
			font-size: 26rpx;
		}
		
		.loading {
			animation: rotate 1s linear infinite;
			color: #E93323;
		}
	}
	
	@keyframes rotate {
		0% { transform: rotate(0deg); }
		100% { transform: rotate(360deg); }
	}
	
	.animated {
		animation-duration: 0.5s;
		animation-fill-mode: both;
	}
	
	.fadeIn {
		animation-name: fadeIn;
	}
	
	@keyframes fadeIn {
		0% {
			opacity: 0;
			transform: translateY(30rpx);
		}
		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}

	.menu-txt {
		font-size: 24rpx;
		color: #454545;
	}

	.mp-bg {
		position: absolute;
		left: 0;
		/* #ifdef H5 */
		top: 98rpx;
		/* #endif */
		width: 100%;
		height: 304rpx;
		background: linear-gradient(180deg, #E93323 0%, #F5F5F5 100%, #751A12 100%);
		// border-radius: 0 0 30rpx 30rpx;


	}

	.stats {
		position: absolute;
		left: 0px;
		top: 0px;
		z-index: 2000000;
		width: 750rpx;
		height: var(--status-bar-height);
		background: #ffffff;
	}

	/* 图片和视频展示样式 */
	.media-showcase {
		margin-bottom: 30rpx;
	}
	
	.banner-image {
		height: 80%;
		width: 100%;
		margin-bottom: 20rpx;
	}
	
	.banner-image image {
		width: 100%;
		border-radius: 10rpx;
	}
	
	.video-container {
		width: 100%;
	}
	
	.promo-video {
		width: 100%;
		height: 380rpx;
		border-radius: 10rpx;
	}

	.quality-course {
		padding: 0 20rpx;
		background-color: #fff;
		border-radius: 12rpx;
		margin-bottom: 30rpx;
	}
	
	.section-title {
		font-size: 32rpx;
		font-weight: bold;
		color: #333;
		padding: 30rpx 0;
	}
	
	.course-item {
		display: flex;
		margin-bottom: 30rpx;
		background-color: #fff;
		border-radius: 12rpx;
		overflow: hidden;
	}
	
	.course-left {
		position: relative;
		width: 200rpx;
		height: 160rpx;
	}
	
	.course-left image {
		width: 100%;
		height: 100%;
		border-radius: 10rpx;
	}
	
	.lesson-count {
		position: absolute;
		left: 0;
		bottom: 0;
		background-color: rgba(0, 0, 0, 0.6);
		color: #fff;
		font-size: 22rpx;
		padding: 5rpx 10rpx;
		border-radius: 0 8rpx 0 0;
	}
	
	.course-right {
		flex: 1;
		padding-left: 20rpx;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	
	.course-title {
		font-size: 28rpx;
		font-weight: bold;
		color: #333;
		margin-bottom: 10rpx;
	}
	
	.course-desc {
		font-size: 24rpx;
		color: #999;
		line-height: 1.3;
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}
	
	.course-price {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: 10rpx;
	}
	
	.price-tag {
		font-size: 24rpx;
		color: #f33;
	}
	
	.price-value {
		font-size: 32rpx;
		font-weight: bold;
		color: #f33;
	}
	
	.student-count {
		font-size: 22rpx;
		color: #999;
		display: flex;
		align-items: center;
	}
	
	.fire-icon {
		font-size: 24rpx;
		margin-right: 5rpx;
	}
	
	.product-divider {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 30rpx 0;
	}
	
	.divider-line {
		width: 50rpx;
		height: 1rpx;
		background-color: #ddd;
	}
	
	.divider-text {
		font-size: 28rpx;
		font-weight: bold;
		color: #333;
		margin: 0 20rpx;
	}
	
	.product-item {
		display: flex;
		margin-bottom: 30rpx;
		background-color: #fff;
		border-radius: 12rpx;
		overflow: hidden;
	}
	
	.product-image {
		width: 200rpx;
		height: 160rpx;
	}
	
	.product-image image {
		width: 100%;
		height: 100%;
		border-radius: 10rpx;
	}
	
	.product-info {
		flex: 1;
		padding-left: 20rpx;
		position: relative;
	}
	
	.product-title {
		font-size: 28rpx;
		font-weight: bold;
		color: #333;
		margin-bottom: 20rpx;
	}
	
	.product-price-info {
		display: flex;
		align-items: baseline;
	}
	
	.current-price {
		display: flex;
		align-items: baseline;
	}
	
	.original-price {
		font-size: 24rpx;
		color: #999;
		text-decoration: line-through;
		margin-left: 10rpx;
	}
	
	.product-sales {
		font-size: 22rpx;
		color: #999;
		margin-top: 10rpx;
	}
	
	.buy-button {
		position: absolute;
		right: 20rpx;
		bottom: 20rpx;
		width: 100rpx;
		height: 50rpx;
		line-height: 50rpx;
		text-align: center;
		background-color: #f33;
		color: #fff;
		font-size: 24rpx;
		border-radius: 25rpx;
	}

	.custom-nav {
		padding: 20rpx 0 30rpx;
		background: #fff;
		border-radius: 12rpx;
		margin-bottom: 20rpx;
		flex-wrap: wrap;
		
		.item {
			width: 20%;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			margin-top: 30rpx;
			
			.pictrue {
				width: 80rpx;
				height: 80rpx;
				position: relative;
				margin-bottom: 12rpx;
				
				image {
					width: 100%;
					height: 100%;
					display: block;
				}
			}
			
			.menu-txt {
				font-size: 24rpx;
				color: #454545;
			}
		}
	}
</style>